Add Stepping Status to emcmodule#3560
Conversation
| `motion paused` flag. | ||
|
|
||
| *stepping*:: '(returns boolean)' - | ||
| `motion stepping` flag. |
There was a problem hiding this comment.
I even added documentation for once :)
|
IMO the |
|
Not wanting to distract with trivialities, but "singlestep" would disambiguate from anything stepper-motor related. |
|
I was originally trying to add it in update. But was struggling to get it to work properly . I'd welcome pointers in the right direction. I'm OK of changing the name. The amount of "status" variables that are different status objects made this way harder than expected. |
|
Can you elaborate what didn't work? I just tried this PR and added this line index 0b4117b229..d1d6e3f68b 100644
--- a/src/emc/nml_intf/emc.cc
+++ b/src/emc/nml_intf/emc.cc
@@ -1702,6 +1702,7 @@ void EMC_TRAJ_STAT::update(CMS * cms)
cms->update(queueFull);
cms->update(id);
cms->update(paused);
+ cms->update(stepping);
cms->update(scale);
cms->update(rapid_scale);
EmcPose_update(cms, &position);It compiles without issues, runtests completes without error |
|
The stepping variable wasn't updated. |
|
Having thought more on this, can the name of the flag be changed? "stepping" is ambiguous. "single-step" or a variant would be better. |
|
Regards from our Video meeting discussing this PR: Andy and Robert are still confused over the "stepping variable not being updated". What is the context here? |
|
I am unaware of another way to get feedback if linuxcnc interpreter is running normally or executing a single line at a time. (Its been a while since I worked on this) iirc axis and qt remember the last state of the button being pushed on the UI. This gave a way of polling the real value from the python module. |
1 similar comment
|
I am unaware of another way to get feedback if linuxcnc interpreter is running normally or executing a single line at a time. (Its been a while since I worked on this) iirc axis and qt remember the last state of the button being pushed on the UI. This gave a way of polling the real value from the python module. |
|
The question was regarding the context of your comment on 9th October, it isn't clear what question that was an answer to. |
|
your statement
prompted me to ask
to which you replied
Thats what's confusing. |
So this updates everything just fine it seems. Testing with axis: hitting "pause" on a running program sets the status.motion.traj.paused flag, doing a single step ('T') sets the stepping flag. "paused" and "stepping" stay set until program is continued with 'S', even if motion of a step is completed. Now I'm not so sure about the utility of this flag any more... |
|
IMO to be consistent with other flags in the same structure we should call it "single_stepping" (traj status "is paused", "is enabled", "is probing", "is single stepping") |
|
seems it is not possible to add to a PR -- see #3732 |
|
It will be a few months before I'll have access to a development computer again. Could make a separate pr. |
1 similar comment
|
It will be a few months before I'll have access to a development computer again. Could make a separate pr. |
|
Oh that's sad to hear. So i guess the use-case of this feature also gone away. I made a separate PR #3732 . |
|
Left the Job that allowed me to work on/with LCNC. Summer time should allow for more play time on my own mill. Closing in favour of yours, assuming you tested it. |
1 similar comment
|
Left the Job that allowed me to work on/with LCNC. Summer time should allow for more play time on my own mill. Closing in favour of yours, assuming you tested it. |
I don't see another way of doing this, but currently I can't see any feedback in any UI that shows the current Single Block mode (Stepping) or not.
It seems to be a flag you send with command.AUTO(AUTO_STEP) and you can just remember in your UI you set the flag...? I prefer polling to know the real answer.